青训营X豆包MarsCode AI项目环境配置

240 阅读3分钟

前言

报这个青训营前几乎没有接触过python,纯小白

详细步骤

我使用的是PyCharm 2024.1.7版本

image.png

image.png

出现这个错误的原因是网络问题。如果你的网络是国内网络,下载pip速度太慢了

一、安装LangChain

  1. 确保已安装必要的依赖

    • 首先,需要确保已经安装了pip(Python包管理器)。可以通过运行python -m pip install --upgrade pip来更新pip。
  2. 安装LangChain

    • 使用pip安装LangChain,可以输入以下命令:pip install langchain
    • 如果想安装特定版本,可以在install后面添加版本号,如langchain==X.Y.Z,替换X.Y.Z为实际版本。
  3. 安装其他可能需要的库

    • LangChain可能依赖于其他NLP库,例如transformers或torch(如果涉及到GPU加速),确保也安装了它们:

      • pip install transformers(如果是GPU环境)
      • pip install torch torchvision

二、部署LangChain

  1. 定义API

    • 在使用LangChain-Serve进行部署时,可以使用@serving装饰器来定义API。例如:
    	from lcserve import serving  
    
    	@serving  
    
    	def ask(question: str) -> str:  
    
    		# 您的LangChain应用逻辑  
    
    		return answer
    
  2. 部署到本地或云端

    • 部署到本地通常涉及运行一个本地服务器,可以通过LangChain-Serve或其他Web框架来实现。
    • 部署到云端(如Jina AI Cloud)则只需一行命令,这样LangChain应用就成功部署到了云端,可以通过REST API进行访问。

三、调试LangChain

  1. 验证安装

    • 安装完成后,可以通过导入langchain并尝试运行其示例代码来验证安装是否成功。例如:
    python复制代码
    	from langchain import LanguageModel  
    
    	model = LanguageModel('your_model_name')  # 根据实际下载的模型名称
    

    如果代码能够运行而没有错误,那么LangChain就安装好了。

  2. 使用调试工具

    • 可以使用Aim等调试工具来跟踪和调试LangChain的执行。这涉及安装Aim、配置环境变量、初始化并配置AimCallbackHandler等步骤。
    • AimCallbackHandler可以记录LangChain执行的详细信息,包括输入、输出、错误等,从而帮助开发者快速定位和解决问题。
  3. 查看日志和监控

    • LangChain-Serve等部署工具通常提供内置的日志和监控功能。开发者可以通过查看日志来了解应用的运行状态和错误信息。
    • 监控功能则可以帮助开发者实时了解应用的性能指标,如响应时间、吞吐量等。

四、注意事项

  1. 版本兼容性

    • 在安装LangChain时,需要注意版本兼容性。确保安装的版本与您的Python环境和依赖库兼容。
  2. 安全性

    • 在部署LangChain应用时,需要注意安全性。例如,需要保护API的访问权限、管理环境变量等敏感信息。
  3. 性能优化

    • 根据应用的需求和性能瓶颈,可以对LangChain进行性能优化。例如,可以通过调整模型参数、使用更高效的算法等方式来提高应用的性能。

五、定义调用国内天气API的工具函数

@tool
def get_weather(city: str) -> dict:
"""查询城市的天气信息"""
api_key = '你的API Key' # 替换为你的实际API Key
api_url = 'example.com/weather/que…' # 替换为实际的API端点
request_params = {'key': api_key, 'city': city}
headers = {"content-type": "application/x-www-form-urlencoded"}

response = requests.get(api_url, params=request_params, headers=headers)  
if response.status_code == 200:  
    return json.loads(response.text)  
else:  
    return {'error': '请求异常'}  

定义提示模板

template = ChatPromptTemplate.from_template("""
根据下面的问题和JSON格式的响应编写一个针对此问题的自然语言回应:
问题:{question}
响应:{response}
""")

构建调用链

chain = {
"input": RunnablePassthrough(),
"question": RunnablePassthrough(),
"response": get_weather | parser, # 调用天气API并解析响应
} | template | RunnablePassthrough() # 使用模板生成回应并输出

示例调用

input_text = "南京的天气怎么样?"
chain_input = {"question": input_text.split("?")[0]} # 提取问题部分作为输入
result = chain.invoke(chain_input)
print(result) # 输出回应