Comments (4)
ahhh, I figured it out - the .completions
returned "choices"
don't have a "delta"
key, they have a "text"
key, this modified snippet works in the shell:
iex(4)> OpenAI.completions([ model: "my_model/ggml-model-q4_0.bin", prompt: "a long long time ago", max_tokens: 32, temperature: 0.3, stream: true], %OpenAI.Config{ http_options: [recv_timeout: :infinity, stream_to: self(), async: :once] }) |> Stream.flat_map(fn res -> res["choices"] end) |> Stream.each(fn choice -> IO.write(choice["text"]) end) |> Stream.run()
| I was in the middle of a conversation with my friend | and he said "I'm sorry, but I have to go" | and I said:ok
iex(5)>
nil
thank you!
from openai.ex.
Hi! Thank you!
Unfortunately I cannot reproduce it, I tried it on my console and it works properly (I just copied and pasted the snippet). Can you give me more information so I can try to help you?
If you are using the exact snippet, make sure you have the variable OPENAI_API_KEY
set as an environment variable, otherwise you can try to pass only the httpoptions in the stream configuration, in this way it will use the api_key
variable you have in your config.exs
OpenAI.chat_completion([
model: "gpt-3.5-turbo",
messages: [
%{role: "system", content: "You are a helpful assistant."},
%{role: "user", content: "Who won the world series in 2020?"},
%{role: "assistant", content: "The Los Angeles Dodgers won the World Series in 2020."},
%{role: "user", content: "Where was it played?"}
],
stream: true,
],
%OpenAI.Config{
http_options: [recv_timeout: :infinity, stream_to: self(), async: :once]
}
)
|> Stream.flat_map(fn res -> res["choices"] end)
|> Stream.each(fn choice ->
IO.write(choice["delta"]["content"])
end)
|> Stream.run()
iex-stream.mp4
from openai.ex.
hmm so I'm working with a local model, and I'm working with the .completions
function:
iex(2)> OpenAI.completions([ model: "my_model/ggml-model-q4_0.bin", prompt: "a long long time ago", max_tokens: 32, temperature: 0.3, stream: true], %OpenAI.Config{ http_options: [recv_timeout: :infinity, stream_to: self(), async: :once] }) |> Stream.flat_map(fn res -> res["choices"] end) |> Stream.each(fn choice -> IO.write(choice["delta"]["content"]) end) |> Stream.run()
:ok
iex(3)>
nil
from openai.ex.
I don't have an openapi key so I can't try the .completions
endpoint with the official api, but I do know that the above works when I put it in a .exs
file and run it
from openai.ex.
Related Issues (20)
- Chat Support HOT 5
- Update documentation version
- `mix-test-watch` dependency running in all environments
- Audio Transcription API support HOT 3
- Make URL target a config option to allow for easier local testing and mocking HOT 2
- API key per request HOT 12
- Add compatibility with Azure's OpenAI API Endpoints HOT 1
- Handle nginx Error HOT 1
- What about replace Hackney with Tesla? HOT 4
- Library doesn't seem to load default config with Phoenix HOT 1
- add api_url param in init function
- Streaming example from docs doesnt work HOT 2
- OpenAI Agents Behaviour
- API key error on prod: You didn't provide an API key. You need to provide your API key in an Authorization header HOT 3
- HTTPoison error cases aren't handled in Stream.new/1
- Bug: http_options configuration is not used HOT 2
- Feature: Atomize string keys in stream responses
- Intermittent Jason.DecodeError while streaming output HOT 6
- Remove applications key from MixProject.application/0
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openai.ex.