通过ollama api进行对话

curl http://localhost:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    { "role": "user", "content": "why is the sky blue?" }
  ]
}'

修改为python代码:

import requests
import json

url = 'http://localhost:11434/api/chat'

# 初始化对话记录
messages = []

while True:
    user_input = input("你: ")
    
    # 添加用户消息到对话记录
    messages.append({"role": "user", "content": user_input})

    # 构建请求数据
    data = {
        "model": "llama3.2",
        "messages": messages
    }

    # 发送请求
    response = requests.post(url, json=data)

    if response.status_code == 200:
        reply = response.json()
        # 假设 API 的回复在 'content' 字段中
        bot_reply = reply.get('content', '没有回复内容。')
        print(f"AI: {bot_reply}")
        # 添加 AI 回复到对话记录
        messages.append({"role": "assistant", "content": bot_reply})
    else:
        print(f"错误: {response.status_code} - {response.text}")
 

### Ollama API 文档与使用实例 Ollama 提供了一套用于生成和优化提示词的接口,这些功能通过 Python 实现可以满足多种应用场景下的需求[^2]。对于希望集成 Ollama 功能的应用开发者而言,了解其 API 的工作原理至关重要。 #### 获取 API 访问权限 为了访问 Ollama API,通常需要先注册并获取 API 密钥。这一步骤确保了安全性和资源的有效管理。具体操作可参照官方文档中的指引完成账户创建流程。 #### 使用 RESTful 风格请求交互 Ollama 支持标准 HTTP 方法来发送请求和接收响应数据。以下是利用 `requests` 库发起 GET 请求的一个简单例子: ```python import requests api_key = 'your_api_key_here' url = f"https://api.ollama.com/v1/prompt?apiKey={api_key}" response = requests.get(url) if response.status_code == 200: data = response.json() else: print(f"Error: {response.status_code}") ``` 此代码片段展示了如何构建 URL 并附带必要的查询参数以调用特定端点。实际应用中可能还需要传递其他参数如消息体等取决于所使用的具体服务。 #### 处理聊天风格的消息输入输出 不同于传统的文本到文本转换方式,Chat Models 像 Ollama 更倾向于采用基于对话的形式来进行交流[^1]。这意味着当向此类模型提交请求时,应该按照指定格式准备包含上下文信息在内的多轮次会话记录作为输入;同样地,在解析返回的结果时也要考虑到这一点。 例如,下面是一个 POST 请求的例子,它模拟了一个完整的对话过程并向服务器发送了一系列前后关联的信息单元: ```python payload = { "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Tell me about your day."}, {"role": "assistant", "content": "I don't have personal experiences but I can help you with information or tasks!"} ] } headers = {'Content-Type': 'application/json', 'Authorization': f'Bearer {api_key}'} response = requests.post('https://api.ollama.com/v1/chat/completions', json=payload, headers=headers) result = response.json() print(result['choices'][0]['message']['content']) ``` 这段脚本不仅设置了系统角色说明还包含了用户提问以及预期得到的回答部分,从而形成了一个连贯的小型对话序列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值