经历:由于创新实训提供的api太过卡顿,并且技术支持不回消息
我们选择使用官方deepseekapi,高并发,无卡顿,比学校提供的好用多了(但是收费。。。)
1.有关api的使用
有问题查看deepseek官方提供的api接口说明文档
在模型调用前,设置环境变量base_url=https://api.deepseek.com
api_key=“从官网创建api粘贴到此处”
deepseekapi支持openaiapi格式
下面是一个使用示例
# Please install OpenAI SDK first: `pip3 install openai`
from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Hello"},
],
stream=False
)print(response.choices[0].message.content)
2.解决deepseekapi的 无记忆问题
我们的项目使用多个deepseekagent进行多轮角色扮演对话提高效果的基本思想,但是deepseekapi没有记忆上下文的能力,解决办法:通过拼接上一个人的对话记录,达到记忆的能力
下面是一个拼接实例
from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")# Round 1
messages = [{"role": "user", "content": "What's the highest mountain in the world?"}]
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages
)messages.append(response.choices[0].message)
print(f"Messages Round 1: {messages}")# Round 2
messages.append({"role": "user", "content": "What is the second?"})
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages
)messages.append(response.choices[0].message)
print(f"Messages Round 2: {messages}")
3.有关openai版本的问题
由于openai最新版本修改了返回的结构体标签,我们需要控制openai版本为<=1.65.4
4.有关部署本地免费大模型测试的问题
为了在开发阶段节省不必要的开销,我修改了部分代码,支持使用本地ollama模型提供api
参考以下教程
首先访问 Ollama 的官方 Github 地址:https://github.com/ollama/ollama,然后在页面上选择相关的系统进行下载
安装完成后,打开「终端」窗口(macOS 可按 F4 搜索“终端”),输入ollama
后出现以下提示说明安装完成。
Ollama 安装完毕,我们还需要下载相应的 AI 模型才可以使用,我们访问ollama官网下载7b的模型
每次都打开控制台来开展对话会非常的不方便,所以我们可以装一个 GUI 界面或者 Web 界面。Ollama 的官方 Github 上列有很多,你可以选择一个来安装
通过 Ollama 安装的 AI 模型,默认是提供 API 的