
文心一言寫代碼:代碼生成力的探索
為了在您的項目中使用 Mistral-Large-Instruct-2407,首先需要進行模型的部署。根據筆者的實測,部署該模型需要至少 4 張 A800 顯卡。以下是具體的部署步驟:
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m vllm.entrypoints.openai.api_server
--model /data/models/Mistral-Large-Instruct-2407/
--served-model-name aaa
--trust-remote-code
--tensor-parallel-size 4
--port 8000
部署成功后,您可以通過標準的 OpenAI 接口訪問方式來使用該模型,這使得集成變得更加便捷。
一旦成功部署 Mistral-Large-Instruct-2407,您可以通過 API 進行調用。以下是使用 LangChain 進行 API 調用的示例代碼:
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage
llm = ChatOpenAI(
streaming=True,
verbose=True,
openai_api_key='none',
openai_api_base='http://10.11.12.13:8000/v1',
model_name='aaa'
)
output = llm([HumanMessage(content='你好')])
print(output.content)
通過上述代碼,您可以輕松地發送請求并獲取模型的響應,充分利用 Mistral-Large-Instruct-2407 的強大功能。
在實際應用中,測試是確保模型準確性的重要步驟。使用之前 GPT-4 翻車的問題“9.11 和 9.9 哪個大?為什么?”來測試 Mistral-Large-Instruct-2407,模型給出了如下的回答:
9.11 比 9.9 大。
原因如下:
1. 首先比較整數部分:9.11 和 9.9 的整數部分都是 9,所以它們相等。
2. 接下來比較小數部分:9.11 的小數部分是 0.11,而 9.9 的小數部分是 0.9。
雖然 0.11 比 0.9 小,但從整體數值來看,9.11 比 9.9 大。
盡管結論正確,但推理過程中的一些細節需要進一步優化,例如“因為 9.11 比 9.9 多了 0.01”這一點顯然不正確。
目前,官方聲稱 Mistral-Large-Instruct-2407 支持最大 128k 的 token,但實際測試發現,模型的最大 token 支持僅為 32k。當請求超過 32k 時,會出現以下報錯:
BadRequestError: Error code: 400 - {'object': 'error', 'message': "This model's maximum context length is 32768 tokens. However, you requested 74761 tokens in the messages, Please reduce the length of the messages.", 'type': 'BadRequestError', 'param': None, 'code': 400}
這一問題在社區中引發了廣泛討論,但官方尚未給出明確的解決方案。
盡管 Mistral-Large-Instruct-2407 在官方測評中展現了強大的函數調用能力,但目前 vllm 并不支持該功能。筆者已向 vllm 官方提交了需求,希望未來版本能夠支持此特性。
Mistral-Large-Instruct-2407 憑借其卓越的通用能力和出色的數學推理能力,在 AI 模型領域占據了一席之地。盡管在實際應用中仍然存在一些小問題,如最大 token 支持和函數調用的限制,但這些問題并不影響其作為高效 AI 工具的整體表現。
通過對 Mistral-Large-Instruct-2407 的全面分析,我們可以更好地理解其部署和應用方法,從而在實際項目中充分發揮其強大的 AI 能力。