当前位置:   article > 正文

crewAI中通过Ollama调用本地模型的两种方式_crewai ollama

crewai ollama

0 背景

crewAI中默认使用的gpt4的模型, 在环境中配置OPENAI_API_KEY即可使用。 但openai的api毕竟是要花钱的, 况且现在对大陆地区做了封禁, 使用起来不是那么方便。 而Ollama可以方便的运行本地的大模型, 既不用花钱, 又可以在本地进行使用。 crewAI中也支持Ollama使用本地模型。

1 使用方式

import os

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


###通过Ollama使用本地模型的方式1:
os.environ["OPENAI_API_BASE"] = 'http://localhost:11434/v1'  ## 这里如果填http://localhost:11434 会报404错误
os.environ["OPENAI_MODEL_NAME"] ='llama3:8b'  # 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:11434/")  ##不给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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

上面的代码给出了2种不同的使用Ollama的方式,
第一种方式是与openai api使用方式兼容的一种方式, 直接设置OPENAI_API_BASEOPENAI_MODEL_NAMEOPENAI_API_KEY即可。OPENAI_API_BASE填Ollama服务的本地地址和端口。 注意,此时虽然没用用openai 的api, 但是OPENAI_API_KEY也是必不可少的, 可以随便给个值。
第二种方式是显式的用Ollama定义模型, 然后在agent中手动传入llm参数, 注意base_url的值。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/991245
推荐阅读
相关标签
  

闽ICP备14008679号