Sfoglia il codice sorgente

fix streaming (#1944)

tags/0.4.4
Chenhe Gu 1 anno fa
parent
commit
de584807e1
Nessun account collegato all'indirizzo email del committer

+ 3
- 9
api/core/model_runtime/model_providers/openai_api_compatible/llm/llm.py Vedi File

) )
) )


for chunk in response.iter_content(chunk_size=2048):
for chunk in response.iter_lines(decode_unicode=True, delimiter='\n\n'):
if chunk: if chunk:
decoded_chunk = chunk.decode('utf-8').strip().lstrip('data: ').lstrip()
decoded_chunk = chunk.strip().lstrip('data: ').lstrip()


chunk_json = None chunk_json = None
try: try:
continue continue


choice = chunk_json['choices'][0] choice = chunk_json['choices'][0]
chunk_index = choice['index'] if 'index' in choice else chunk_index
chunk_index += 1


if 'delta' in choice: if 'delta' in choice:
delta = choice['delta'] delta = choice['delta']
message=assistant_prompt_message, message=assistant_prompt_message,
) )
) )
else:
yield create_final_llm_result_chunk(
index=chunk_index + 1,
message=AssistantPromptMessage(content=""),
finish_reason="End of stream."
)


chunk_index += 1 chunk_index += 1



+ 6
- 6
api/tests/integration_tests/model_runtime/openai_api_compatible/test_llm.py Vedi File

model='mistralai/Mixtral-8x7B-Instruct-v0.1', model='mistralai/Mixtral-8x7B-Instruct-v0.1',
credentials={ credentials={
'api_key': 'invalid_key', 'api_key': 'invalid_key',
'endpoint_url': 'https://api.together.xyz/v1/chat/completions',
'endpoint_url': 'https://api.together.xyz/v1/',
'mode': 'chat' 'mode': 'chat'
} }
) )
model='mistralai/Mixtral-8x7B-Instruct-v0.1', model='mistralai/Mixtral-8x7B-Instruct-v0.1',
credentials={ credentials={
'api_key': os.environ.get('TOGETHER_API_KEY'), 'api_key': os.environ.get('TOGETHER_API_KEY'),
'endpoint_url': 'https://api.together.xyz/v1/chat/completions',
'endpoint_url': 'https://api.together.xyz/v1/',
'mode': 'chat' 'mode': 'chat'
} }
) )
model='mistralai/Mixtral-8x7B-Instruct-v0.1', model='mistralai/Mixtral-8x7B-Instruct-v0.1',
credentials={ credentials={
'api_key': os.environ.get('TOGETHER_API_KEY'), 'api_key': os.environ.get('TOGETHER_API_KEY'),
'endpoint_url': 'https://api.together.xyz/v1/completions',
'endpoint_url': 'https://api.together.xyz/v1/',
'mode': 'completion' 'mode': 'completion'
}, },
prompt_messages=[ prompt_messages=[
model='mistralai/Mixtral-8x7B-Instruct-v0.1', model='mistralai/Mixtral-8x7B-Instruct-v0.1',
credentials={ credentials={
'api_key': os.environ.get('TOGETHER_API_KEY'), 'api_key': os.environ.get('TOGETHER_API_KEY'),
'endpoint_url': 'https://api.together.xyz/v1/chat/completions',
'endpoint_url': 'https://api.together.xyz/v1/',
'mode': 'chat' 'mode': 'chat'
}, },
prompt_messages=[ prompt_messages=[
model='gpt-3.5-turbo', model='gpt-3.5-turbo',
credentials={ credentials={
'api_key': os.environ.get('OPENAI_API_KEY'), 'api_key': os.environ.get('OPENAI_API_KEY'),
'endpoint_url': 'https://api.openai.com/v1/chat/completions',
'endpoint_url': 'https://api.openai.com/v1/',
'mode': 'chat' 'mode': 'chat'
}, },
prompt_messages=[ prompt_messages=[
model='mistralai/Mixtral-8x7B-Instruct-v0.1', model='mistralai/Mixtral-8x7B-Instruct-v0.1',
credentials={ credentials={
'api_key': os.environ.get('OPENAI_API_KEY'), 'api_key': os.environ.get('OPENAI_API_KEY'),
'endpoint_url': 'https://api.openai.com/v1/chat/completions'
'endpoint_url': 'https://api.openai.com/v1/'
}, },
prompt_messages=[ prompt_messages=[
SystemPromptMessage( SystemPromptMessage(

+ 7
- 11
api/tests/integration_tests/model_runtime/openai_api_compatible/test_text_embedding.py Vedi File

model='text-embedding-ada-002', model='text-embedding-ada-002',
credentials={ credentials={
'api_key': 'invalid_key', 'api_key': 'invalid_key',
'endpoint_url': 'https://api.openai.com/v1/embeddings',
'context_size': 8184,
'max_chunks': 32
'endpoint_url': 'https://api.openai.com/v1/',
'context_size': 8184
} }
) )
model='text-embedding-ada-002', model='text-embedding-ada-002',
credentials={ credentials={
'api_key': os.environ.get('OPENAI_API_KEY'), 'api_key': os.environ.get('OPENAI_API_KEY'),
'endpoint_url': 'https://api.openai.com/v1/embeddings',
'context_size': 8184,
'max_chunks': 32
'endpoint_url': 'https://api.openai.com/v1/',
'context_size': 8184
} }
) )


model='text-embedding-ada-002', model='text-embedding-ada-002',
credentials={ credentials={
'api_key': os.environ.get('OPENAI_API_KEY'), 'api_key': os.environ.get('OPENAI_API_KEY'),
'endpoint_url': 'https://api.openai.com/v1/embeddings',
'context_size': 8184,
'max_chunks': 32
'endpoint_url': 'https://api.openai.com/v1/',
'context_size': 8184
}, },
texts=[ texts=[
"hello", "hello",
credentials={ credentials={
'api_key': os.environ.get('OPENAI_API_KEY'), 'api_key': os.environ.get('OPENAI_API_KEY'),
'endpoint_url': 'https://api.openai.com/v1/embeddings', 'endpoint_url': 'https://api.openai.com/v1/embeddings',
'context_size': 8184,
'max_chunks': 32
'context_size': 8184
}, },
texts=[ texts=[
"hello", "hello",

Loading…
Annulla
Salva