【不花一分,请个智能体员工多智能体协作搭建】

1、背景

你要懂一些基础的概念,不懂的话,照着做也可以
通过搭建一个本地的智能体,完成你想要智能体完成的任务。
结果:完成了

2、步骤

1、最好你有台linux电脑,因为在window下不知道你有遇到了什么奇怪的问题

2、ollama提供大模型服务

ollama 镜像
https://docker.aityp.com/r/docker.io/ollama/ollama 下载 通过docker pull就行

docker ps -a 有这样一个镜像
在这里插入图片描述
启动该镜像

docker exec -it a9b494fcbd39 /bin/bash

列出来有哪些模型

ollama list
输出如下:
NAME ID SIZE MODIFIED
qwen2.5:3b 357c53fb659c 1.9 GB 8 weeks ago
qwen2.5-coder:1.5b 7088ac567b1e 986 MB 8 weeks ago
qwen2.5-coder:7b 4a26c19c376e 4.7 GB 8 weeks ago
nomic-embed-text:latest 0a109f422b47 274 MB 8 weeks ago
qwen2.5:7b 845dbda0ea48 4.7 GB 8 weeks ago

启动模型

ollama run qwen2.5-coder:7b

3、测试大模型接口

最快的方式测试部署好了服务 需要注意端口号:11435 这个跟镜像配置有关

curl http://localhost:11435/api/chat -d '{"model": "qwen2.5-coder:7b","messages":[{"role":"user","content": "你好" }],"stream":false}'

测试接口调用

3.1 python生成文本调用

url_generate = "http://localhost:11435/api/generate"
def get_response(url, data):
    response = requests.post(url, json=data)
    response_dict = json.loads(response.text)
    response_content = response_dict["response"]
    return response_content

data = {
    "model": "qwen2.5-coder:7b",
    "prompt": "你好",
    "stream": False
}


res = get_response(url_generate,data)
print(res)

在这里插入图片描述

3.2 python生成聊天补全

url_chat =  "http://localhost:11435/api/chat"
data = {
    "model": "qwen2.5-coder:7b",
    "messages": [
    {
      "role": "user",
      "content": "你好"
    }],
    "stream": False
        }
response = requests.post(url_chat, json=data)
response_dict = json.loads(response.text)
print(response_dict)

在这里插入图片描述

3、langchain调用

通过直接指定地址来调用

from langchain_community.chat_models import ChatOllama

llama_model = ChatOllama(
    model="qwen2.5-coder:7b",
    base_url="http://localhost:11435"  # 明确指定服务地址 
)
response = llama_model.invoke("你好,请介绍一下自己")
print(response.content)

在这里插入图片描述
通过os的环境变量来配置

from langchain_openai import ChatOpenAI
import os

#将ollama的api转化为OPENAI式的api,方便crewai调用
#设置系统环境变量OPENAI_API_BASE和OPENAI_API_KEY
os.environ["OPENAI_API_BASE"] = "http://localhost:11435/v1"
os.environ["OPENAI_API_KEY"] = "NA"

llama_model = ChatOpenAI(model = "qwen2.5-coder:7b")
response = llama_model.invoke("你好,请介绍一下自己")
print(response.content)

在这里插入图片描述

4、智能体

利用crewai编写智能体并完成任务

import os

##默认方式,直接使用gpt4, 需要设置OPENAI_API_KEY
# os.environ["OPENAI_API_KEY"] = "Your Key"


###通过Ollama使用本地模型的方式1:
os.environ["OPENAI_API_BASE"] = 'http://localhost:11435/v1'  ## 这里如果填http://localhost:11434 会报404错误
os.environ["OPENAI_MODEL_NAME"] ='qwen2.5-coder:7b'  # Adjust based on available model
os.environ["OPENAI_API_KEY"] ='NA'
# # ######################################


# # ###通过Ollama使用本地模型的方式2:
# from langchain.llms import Ollama

# llm = Ollama(
#     model="llama3:8b",
#     base_url="http://localhost:11435")  ##不给base_url参数也可以。如果给的话这里写http://localhost:11434/v1 会报错,提示langchain_community.llms.ollama.OllamaEndpointNotFoundError: Ollama call failed with status code 404. Maybe your model is not found and you should pull the model with `ollama pull llama3:8b`.
# ##############################


from crewai import Agent, Task, Crew

research_agent = Agent(
    role='Researcher',
    goal='Find and summarize the latest AI news',
    backstory="""You're a researcher at a large company.
  You're responsible for analyzing data and providing insights
  to the business.""",
    verbose=True,
    # llm=llm    ### 注意使用方式2时, 这里需要手动传入llm
)

task = Task(
    description='Find and summarize the latest AI news',
    expected_output='A bullet list summary of the top 5 most important AI news',
    agent=research_agent,
    tools=[]
)

crew = Crew(
    agents=[research_agent],
    tasks=[task],
    verbose=2
)

result = crew.kickoff()
print(result)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ai君臣

学会的就要教给人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值