一、项目搭建:
1.创建虚拟环境,查看当前环境模块列表
2.安装llamaindex框架
提示:如果出现无法安装的情况,请记得打开魔法工具
官方文档:https://docs.llamaindex.ai/en/stable/
pip install llama-index
使用模块信息显示命令,查看是否成功安装
pip show llama-index
二、实现基础聊天功能:
1.注册deepseek账号
官网:https://www.deepseek.com/
创建 API 时请记得将其保存到本地,因为 API 只会显示一次
。
2.配置key值
在目录下创建llms.py
llms.py代码
from typing import Dict
from llama_index.llms.openai import OpenAI
from llama_index.llms.openai.utils import ALL_AVAILABLE_MODELS, CHAT_MODELS
# 定义DeepSeeK模型及其对应的上下⽂⼤⼩
# 这⾥添加了"deepseek-chat"模型,其上下⽂⼤⼩为64000
DEEPSEEK_MODELS: Dict[str, int] = {
"deepseek-chat": 64000,
}
# 更新所有可⽤模型的字典,添加DeepSeeK模型
ALL_AVAILABLE_MODELS.update(DEEPSEEK_MODELS)
# 更新聊天模型的字典,添加DeepSeeK模型
CHAT_MODELS.update(DEEPSEEK_MODELS)
def deepseek_llm(**kwargs):
"""
创建并返回DeepSeek聊天语言模型实例
:param kwargs:
:return:
"""
llm = OpenAI(api_key="",
model="deepseek-chat",
api_base="https://api.deepseek.com/v1",
temperature=0.7,
**kwargs)
return llm
关于OpenAI配置参数:
- api_key:这是用来授权访问OpenAI API的密钥。在实例化时需要提供有效的API密钥以确保可以连接到API服务
- model:指定使用的模型名称为deepseek-chat
- api_base:这是API的基础URL。它指明了要连接的服务的地址。在这里是DeepSeek服务的API端点。结尾v1是版本号,目前是v1至v3版本,可以根据需求自行切换
- temperature:这是控制生成文本的随机性和创造性的参数,范围通常在0到1之间。较高的温度值(如0.7)会导致生成文本更加多样化和随机,较低的值则使得结果更加确定和一致。
大家根据自己的API和需求自行填写及选择,这里我就采用v1版本演示
3.配置启动文件
创建main.py文件配置启动文件
main.py代码
from llama_index.core import Settings
from llama_index.core.chat_engine import SimpleChatEngine
# 从自定义llm,py文件中导入deepseek LLM实例,⽤于处理语⾔模型相关的任务
from llms import deepseek_llm
# 设置全局的LLM实例为deepseek LLM,配置模型和其他资源
Settings.llm = deepseek_llm()
# 创建一个简单的聊天引擎实例,采用默认配置
chat_engine = SimpleChatEngine.from_defaults()
# 采用流式输出,启动聊天引擎,进行读取-评估-打印循环(repl)
# 此方法允许用户与聊天引擎进行实时交互,输入命令或提问,可以及时响应
chat_engine.streaming_chat_repl()
配置完后,启动main.py文件
如果出现以下报错
错误信息显示,问题发生在 requests 库中,具体是因为它无法从 simplejson 中导入 JSONDecodeError,只需安装一下simplejson库或者更新一下requests库
pip install simplejson
pip install --upgrade requests
那么,我们重新启动一下main.py文件
我们进行一个提问
需要退出的话直接输入exit
即可
现在一个基于LLamaIndex框架实现的简单聊天引擎就实现了,想体验一下的朋友,快快自己手动实现吧